Encoding method, decoding method, encoder, and decoder

ABSTRACT

The present disclosure provides an encoding method, a decoding method, an encoder, and a decoder, the encoding method comprises: performing interframe prediction to each interframe coded block to obtain corresponding interframe predicted blocks; writing information of each of the interframe predicted blocks into a code stream; if the interframe coded block exists at an adjacent position to the right or beneath or to the lower right of the intraframe coded block, performing intraframe prediction to the intraframe coded block based on at least one reconstructed coded blocks at adjacent positions to the left and/or above and/or to the upper left of the intraframe coded block and at least one of the interframe coded blocks at adjacent positions to the right and/or beneath and/or to the lower right of the intraframe coded block to obtain intraframe predicted blocks; writing information of each of the intraframe predicted blocks into the code stream.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a national stage filing under 35 U.S.C. § 371of PCT/CN2017/094032, filed on Jul. 24, 2017 which claims priority to CNApplication No. 201611243035.3 filed on Dec. 29, 2016. The applicationsare incorporated herein by reference in their entirety.

FIELD

Embodiments of the present disclosure generally relate to the field ofcomputer technologies, and more particularly relate to an encodingmethod, a decoding method, an encoder, and a decoder.

BACKGROUND

As people become increasingly demanding on resolutions, informationtransmission bandwidth and storage capacity occupied by videos alsoincrease. How to improve video compression quality with a satisfactoryvideo compression ratio is currently an urgent problem to solve.

In conventional coding methods, the processing sequence of a codingprocess is raster scan or Z scan, such that during performing intraframeprediction to an intraframe coded block, reference pixel points comefrom coded blocks already reconstructed to the left and/or above and/orto the upper left of the intraframe coded block.

However, because only the reconstructed coded blocks to the left and/orabove and/or to the upper left of the intraframe coded block can be usedfor predicting the intraframe coded block, the prediction precision ofthe conventional coding methods needs to be further improved.

SUMMARY

In view of the above, embodiments of the present disclosure provide anencoding method, a decoding method, an encoder, and a decoder, which mayimprove the prediction accuracy of intraframe prediction.

In a first aspect, an embodiment of the present disclosure provides anencoding method, comprising:

performing interframe prediction to each interframe coded block in atleast one coded block to obtain corresponding interframe predictedblocks;

writing information of each of the interframe predicted blocks into acode stream;

for each intraframe coded block in the at least one coded block, if theinterframe coded block exists at an adjacent position to the right orbeneath or to the lower right of the intraframe coded block, performingintraframe prediction to the intraframe coded block based on at leastone reconstructed coded blocks at adjacent positions to the left and/orabove and/or to the upper left of the intraframe coded block and atleast one of the interframe coded blocks at adjacent positions to theright and/or beneath and/or to the lower right of the intraframe codedblock to obtain intraframe predicted blocks; and

writing information of each of the intraframe predicted blocks into thecode stream.

In a second aspect, an embodiment of the present disclosure provides adecoding method, comprising:

determining, based on information of at least one interframe predictedblocks in a code stream, an interframe coded block corresponding to eachof the interframe predicted blocks;

for information of each intraframe predicted block in the code stream,if the interframe coded block exists at an adjacent position to theright or beneath or to the lower right of the intraframe coded blockcorresponding to the intraframe predicted block, determining theintraframe predicted block based on the information of the intraframepredicted block, at least one reconstructed coded blocks at adjacentpositions to the left and/or above and/or to the upper left of theintraframe coded block, and at least one of the interframe coded blocksat adjacent positions to the right and/or beneath and/or to the lowerright of the intraframe coded block; and determining the intraframecoded block based on the intraframe predicted block.

In a third aspect, an embodiment of the present disclosure provides anencoder, comprising:

an interframe predicting unit configured for performing interframeprediction to each interframe coded block in at least one coded block toobtain corresponding interframe predicted blocks;

an intraframe predicting unit configured for: for each intraframe codedblock in the at least one coded block, if the interframe coded blockexists at an adjacent position to the right or beneath or to the lowerright of the intraframe coded block, performing intraframe prediction tothe intraframe coded block based on at least one reconstructed codedblocks at adjacent positions to the left and/or above and/or to theupper left of the intraframe coded block and at least one of theinterframe coded blocks at adjacent positions to the right and/orbeneath and/or to the lower right of the intraframe coded block toobtain intraframe predicted blocks; and

a writing unit configured for writing information of each of theinterframe predicted blocks into a code stream and writing informationof each of the intraframe predicted blocks into the code stream.

In a fourth aspect, an embodiment of the present disclosure provides adecoder, comprising:

an interframe decoding unit configured for determining, based oninformation of at least one interframe predicted blocks in a codestream, an interframe coded block corresponding to each of theinterframe predicted blocks; and

an intraframe decoding unit configured for: for information of eachintraframe predicted block in the code stream, if the interframe codedblock exists at an adjacent position to the right or beneath or to thelower right of the intraframe coded block corresponding to theintraframe predicted block, determining the intraframe predicted blockbased on the information of the intraframe predicted block, at least onereconstructed coded blocks at adjacent positions to the left and/orabove and/or to the upper left of the intraframe coded block, and atleast one of the interframe coded blocks at adjacent positions to theright and/or beneath and/or to the lower right of the intraframe codedblock; and determining the intraframe coded block based on theintraframe predicted block.

At least one of the above technical solutions adopted by the embodimentsof the present disclosure may achieve the following advantageouseffects: the present encoding method changes the processing sequence ofcode units, wherein during the coding process, an interframe coded blockis first subjected to interframe prediction, and then the information ofthe resulting interframe predicted block is written into a code stream.On this basis, if an interframe coded block exists at a positionadjacent to the right or beneath or to the lower right of the intraframecoded block, because the interframe coded block has been completelycoded, it may be used for performing intraframe prediction to theintraframe coded block. During the intraframe prediction process, theencoding method not only utilizes at least one reconstructed codedblocks at positions adjacent to the left and/or the above and/or to theupper left of the intraframe coded block as references, but alsoutilizes at least one interframe coded blocks at positions adjacent tothe right and/or the beneath and/or to the lower right of the intraframecoded block as references, thereby being capable of improving theprediction precision of intraframe prediction.

BRIEF DESCRIPTION OF THE DRAWINGS

To elucidate the technical solutions of the present disclosure or theprior art, the drawings used in describing the embodiments of thepresent disclosure or the prior art will be briefly introduced below. Itis apparent that the drawings as described only relate to someembodiments of the present disclosure. To those skilled in the art,other drawings may be derived based on these drawings without exerciseof inventive work, wherein:

FIG. 1 is a flow diagram of an encoding method provided according to anembodiment of the present disclosure;

FIG. 2 is a distribution diagram of intraframe coded blocks andinterframe coded blocks according to an embodiment of the presentdisclosure;

FIG. 3 is a schematic diagram of a prediction direction in an HEVCaccording to an embodiment of the present disclosure;

FIG. 4 is a schematic diagram of a first time of intraframe predictionaccording to an embodiment of the present disclosure;

FIG. 5 is a schematic diagram of a second time of intraframe predictionaccording to an embodiment of the present disclosure;

FIG. 6 is a flow diagram of a decoding method provided according to anembodiment of the present disclosure;

FIG. 7 is a structural schematic diagram of an encoder according to anembodiment of the present disclosure; and

FIG. 8 is a structural schematic diagram of a decoder according to anembodiment of the present disclosure.

DETAILED DESCRIPTION OF EMBODIMENTS

To make the objects, technical solutions, and advantages of theembodiments of the present disclosure much clearer, the technicalsolutions in the embodiments of the present disclosure will be describedclearly and comprehensively with reference to the accompanying drawingsof the embodiments of the present disclosure; apparently, theembodiments as described are only part of the embodiments of the presentdisclosure, rather than all of them. All other embodiments that may becontemplated by a person of normal skill in the art based on theembodiments in the present disclosure fall into the protection scope ofthe present disclosure.

As shown in FIG. 1, an embodiment of the present disclosure provides anencoding method. The method may comprise the following steps:

Step 101: performing interframe prediction to each interframe codedblock in at least one coded block to obtain corresponding interframepredicted blocks.

The encoding method is suitable for coding a coded block in aninterframe picture, wherein the interframe picture may be aunidirectional predicted frame (P frame) or a bidirectional predictedframe (B frame).

In the step 101, various conventional interframe predicting methods maybe adopted to perform interframe prediction to respective interframecoded blocks. The interframe prediction does not rely on other codedblocks in a spatial domain; instead, corresponding coded blocks arecopied from the reference frame as the interframe predicted blocks.

Step 102: writing information of each of the interframe predicted blocksinto a code stream.

The information of the interframe predicted block includes, but is notlimited to, size, predictive mode, and reference picture of theinterframe coded block.

Step 103: for each intraframe coded block in the at least one codedblock, if the interframe coded block exists at an adjacent position tothe right or beneath or to the lower right of the intraframe codedblock, performing intraframe prediction to the intraframe coded blockbased on at least one reconstructed coded blocks at adjacent positionsto the left and/or above and/or to the upper left of the intraframecoded block and at least one interframe coded blocks at adjacentpositions to the right and/or beneath and/or to the lower right of theintraframe coded block to obtain intraframe predicted blocks.

Particularly, the reconstructed coded blocks may be reconstructedinterframe coded blocks or reconstructed intraframe coded blocks.

Step 104: writing information of each of the intraframe predicted blocksinto a code stream.

After each intraframe coded block is subjected to intraframe prediction,information of each of the intraframe predicted blocks is written into acode stream.

The present encoding method changes the processing sequence of codeunits, wherein during the coding process, an interframe coded block isfirst subjected to interframe prediction, and then the information ofthe resulting interframe predicted block is written into a code stream.On this basis, if an interframe coded block exists at a positionadjacent to the right or beneath or to the lower right of the intraframecoded block, because the interframe coded block has been completelycoded, it may be used for performing intraframe prediction to theintraframe coded block. During the intraframe prediction process, theencoding method not only utilizes at least one reconstructed codedblocks at positions adjacent to the left and/or the above and/or to theupper left of the intraframe coded block as references, but alsoutilizes at least one interframe coded blocks at positions adjacent tothe right and/or the beneath and/or to the lower right of the intraframecoded block as references, thereby being capable of improving theprediction precision of intraframe prediction.

In an embodiment of the present disclosure, FIG. 2 shows a distributiondiagram of intraframe coded blocks and interframe coded blocks, whereingray blocks represent an intraframe coded block and white blocksrepresent interframe coded blocks. To the right, beneath, and to thelower right of block X are interframe coded blocks. Because theseinterframe coded blocks have been reconstructed before coding the blockX, they may be utilized for performing intraframe prediction to theblock X.

In an embodiment of the present disclosure, the step 103 comprises:

a1: performing a first time of intraframe prediction to the intraframecoded block based on the at least one reconstructed coded block atadjacent positions to the left and/or above and/or to the upper left ofthe intraframe coded block to obtain a first predicted block;

a1 may be implemented using a conventional intraframe predicting method.

a2: performing a second time of intraframe prediction to the intraframecoded block based on at least one interframe coded blocks at adjacentpositions to the right and/or beneath and/or to the lower right of theintraframe coded block to obtain a second predicted block; and

a3: determining the intraframe predicted block based on the firstpredicted block and the second predicted block.

In an embodiment of the present disclosure, a1 may also be performedbefore the step 102.

In this case, the step 101 and a1 further have the followingimplementation manners: for each coded block in at least one codedblock, performing interframe prediction to the coded block to obtain acorresponding interframe coded block; performing a first time ofintraframe prediction to the coded block based on at least onereconstructed coded blocks at adjacent positions to the left and/orabove and/or to the upper left of the coded block to obtain acorresponding first intraframe predicted block; determining whether thecoded block adopts interframe prediction or intraframe prediction basedon a preset decision algorithm, wherein in the case of adoptingintraframe prediction, the coded block is an intraframe coded block, andin the case of adopting interframe prediction, the coded block is aninterframe coded block.

In this embodiment, intraframe prediction may also be executed beforeinterframe prediction. Namely, for each coded block in the at least onecoded block, performing a first time of intraframe prediction to thecoded block based on at least one reconstructed coded blocks at adjacentpositions to the left and/or above and/or to the upper left of the codedblock to obtain a corresponding first intraframe predicted block; andperforming interframe prediction to the coded block to obtain acorresponding interframe coded block.

In an embodiment of the present disclosure, the intraframe predictedblock is obtained by weighting the first predicted block and the secondpredicted block. In this case, the method further comprises: determininga prediction direction of the first time of intraframe prediction basedon the intraframe coded block and the at least one reconstructed codedblock at adjacent positions to the left and/or above and/or to the upperleft of the intraframe coded block; determining a prediction directionof the second time of intraframe prediction based on the intraframecoded block and at least one of the interframe coded blocks at adjacentpositions to the right and/or beneath and/or to the lower right of theintraframe coded block; determining a weight coefficient of the firstpredicted block based on the prediction direction of the first time ofintraframe prediction; and determining a weight coefficient of thesecond predicted block based on the prediction direction of the secondtime of intraframe prediction.

In this case, a3 comprises: determining the intraframe predicted blockbased on the first predicted block and its weight coefficient, and thesecond predicted block and its weight coefficient.

In an embodiment of the present disclosure, a weight coefficient may bedetermined based on a prediction direction.

if the prediction direction of the first time of intraframe predictionis a vertical direction, it is determined that the weight coefficient ofthe first predicted block is a vertical distance between a predictedpixel point in the intraframe coded block and a reference pixel point inthe at least one reconstructed coded block at adjacent positions to theleft and/or above and/or to the upper left of the intraframe codedblock.

if the prediction direction of the first time of intraframe predictionis a horizontal direction, it is determined that the weight coefficientof the first predicted block is a horizontal distance between apredicted pixel point in the intraframe coded block and a referencepixel point in the at least one reconstructed coded block at adjacentpositions to the left and/or above and/or to the upper left of theintraframe coded block.

In an embodiment of the present disclosure, determining of the weightcoefficient of the second predicted block is similar to determining ofthe weight coefficient of the first predicted block. Determining aweight coefficient of the second predicted block based on the predictiondirection of the second time of intraframe prediction comprises: if theprediction direction of the second time of intraframe prediction is avertical direction, determining that the weight coefficient of thesecond predicted block is a vertical distance between a predicted pixelpoint in the intraframe coded block and a reference pixel point in atleast one of the interframe coded blocks at adjacent positions to theright and/or beneath and/or to the lower right of the intraframe codedblock.

Determining a weight coefficient of the second predicted block based onthe prediction direction of the second time of intraframe predictioncomprises: if the prediction direction of the second time of intraframeprediction is a horizontal direction, determining that the weightcoefficient of the second predicted block is a horizontal distancebetween a predicted pixel point in the intraframe coded block and areference pixel point in at least one of the interframe coded blocks atadjacent positions to the right and/or beneath and/or to the lower rightof the intraframe coded block.

In an embodiment of the present disclosure, a pixel value of thepredicted pixel point in the intraframe predicted block may bedetermined based on equation (1) and equation (2) below:

P _(comb)(x,y)=(d _(b) ·P _(a)(x,y)+d _(a) ·P_(b)(x,y)+(1<<(shift−1)))>>shift  (1)

shift=log₂(d _(a) +d _(b))  (2)

where P_(comb) denotes the pixel value of the predicted pixel point inthe intraframe predicted block; P_(a) denotes the pixel value of thepredicted pixel point in the first predicted block; P_(b) denotes thepixel value of the predicted pixel point in the second predicted block;x, y denote coordinates of the predicted pixel point, respectively;d_(a) denotes the weight coefficient of the first predicted block; d_(b)denotes the weight coefficient of the second predicted block; shift is anormalized parameter for controlling the P_(comb) within a prescribedscope.

As shown in FIG. 3, 2-17 denotes that the prediction direction is ahorizontal direction, and 18-34 denotes that the prediction direction isa vertical direction.

As shown in FIG. 4, the black blocks represent predicted pixel points,while the gray blocks represent reference pixel points. It may be seenfrom FIG. 4 that if the prediction direction of the first time ofintraframe prediction is a vertical direction, it is determined that theweight coefficient of the first predicted block is a vertical distanced_(a) between a predicted pixel point in the intraframe coded block anda reference pixel point in the at least one reconstructed coded block atadjacent positions to the left and/or above and/or to the upper left ofthe intraframe coded block.

As shown in FIG. 5, the black blocks represent predicted pixel points,while the gray blocks represent reference pixel points. It may be seenfrom FIG. 5 that if the prediction direction of the second time ofintraframe prediction is a vertical direction, determining that theweight coefficient of the second predicted block is a vertical distanced_(b) between a predicted pixel point in the intraframe coded block anda reference pixel point in at least one of the interframe coded blocksat adjacent positions to the right and/or beneath and/or to the lowerright of the intraframe coded block.

In an embodiment of the present disclosure, the method furthercomprises: determining, based on a preset decision algorithm, whether toutilize at least one interframe coded blocks at adjacent positions tothe right and/or beneath and/or to the lower right of the intraframecoded block to perform intraframe prediction; if so, executing a stepof: performing intraframe prediction to the intraframe coded block basedon at least one reconstructed coded blocks at adjacent positions to theleft and/or above and/or to the upper left of the intraframe coded blockand at least one interframe coded blocks at adjacent positions to theright and/or beneath and/or to the lower right of the intraframe codedblock.

With a decision algorithm, it may be determined whether at least oneinterframe coded blocks at adjacent positions to the right and/orbeneath and/or to the lower right of the intraframe coded block areadopted during the process of intraframe prediction, thereby improvingcoding quality while guaranteeing the coding efficiency. Particularly,the decision algorithm includes, but is not limited to, RDO (RateDistortion Optimized) and RMD (Rough Mode Decision).

If the coding utilizes at least one interframe coded blocks at adjacentpositions to the right and/or beneath or to the lower right of theintraframe coded block, to facilitate a decoding process, a codingidentifier may be added to the information of the intraframe predictionblock, wherein the coding identifier is for identifying whether at leastone interframe coded blocks at adjacent positions to the right orbeneath or to the lower right of the intraframe coded block are utilizedduring the process of intraframe prediction. For example, when a valueof the coding identifier is set to 1, it indicates that at least one ofthe interframe coded blocks at adjacent positions to the right orbeneath or to the lower right of the intraframe coded block are utilizedduring the process of intraframe prediction. In an actual applicationscenario, the set value may be 1-bit.

As shown in FIG. 6, an embodiment of the present disclosure provides adecoding method, comprising:

Step 601: determining, based on information of at least one interframepredicted blocks in a code stream, an interframe coded blockcorresponding to each of the interframe predicted blocks.

Step 602: for information of each intraframe predicted block in the codestream, if the interframe coded block exists at an adjacent position tothe right or beneath or to the lower right of the intraframe coded blockcorresponding to the intraframe predicted block, determining theintraframe predicted block based on the information of the intraframepredicted block, at least one reconstructed coded blocks at adjacentpositions to the left and/or above and/or to the upper left of theintraframe coded block, and at least one interframe coded blocks atadjacent positions to the right and/or beneath and/or to the lower rightof the intraframe coded block; and determining the intraframe codedblock based on the intraframe predicted block.

Corresponding to the encoding method, the decoding method changes thedecoding sequence of code units in the conventional decoding methods,wherein during the decoding process, the present decoding method firstperforms decoding to obtain an interframe coded block and then performsdecoding based on the decoded interframe coded block to obtain theintraframe coded block. During the intraframe prediction process, thedecoding method not only utilizes at least one reconstructed codedblocks at positions adjacent to the left and/or the above and/or to theupper left of the intraframe coded block as references, but alsoutilizes at least one interframe coded blocks at positions adjacent tothe right and/or the beneath and/or to the lower right of the intraframecoded block as references, thereby being capable of improving theprediction precision of intraframe prediction.

As the decoding process is reverse to the encoding process, the aboveillustrations on the interframe prediction and the intraframe predictionare likewise applicable to the decoding process below.

In an embodiment of the present disclosure, determining the intraframepredicted block based on the information of the intraframe predictedblock, the at least one reconstructed coded block at adjacent positionsto the left and/or above and/or to the upper left of the intraframecoded block, and at least one interframe coded blocks at adjacentpositions to the right and/or beneath and/or to the lower right of theintraframe coded block comprises:

performing a first time of intraframe prediction to the intraframe codedblock based on the information of the intraframe predicted block and theat least one reconstructed coded block at adjacent positions to the leftand/or above and/or to the upper left of the intraframe coded block toobtain a first predicted block;

performing a second time of intraframe prediction to the intraframecoded block based on the information of the intraframe predicted blockand at least one of the interframe coded blocks at adjacent positions tothe right and/or beneath and/or to the lower right of the intraframecoded block to obtain a second predicted block; and

determining the intraframe predicted block based on the first predictedblock and the second predicted block.

In an embodiment of the present disclosure, the decoding method furthercomprises:

determining a prediction direction of the first time of intraframeprediction based on the information of the intraframe predicted block,the at least one reconstructed coded block at adjacent positions to theleft and/or above and/or to the upper left of the intraframe codedblock, and the intraframe coded block;

determining a prediction direction of the second time of intraframeprediction based on the information of the intraframe predicted block,at least one of the interframe coded blocks at adjacent positions to theright and/or beneath and/or to the lower right of the intraframe codedblock, and the intraframe coded block;

determining a weight coefficient of the first predicted block based onthe prediction direction of the first time of intraframe prediction;

determining a weight coefficient of the second predicted block based onthe prediction direction of the second time of intraframe prediction;and

the determining the intraframe predicted block based on the firstpredicted block and the second predicted block comprises:

determining the intraframe predicted block based on the first predictedblock and its weight coefficient, and the second predicted block and itsweight coefficient.

In an embodiment of the present disclosure, the determining a weightcoefficient of the first predicted block based on the predictiondirection of the first time of intraframe prediction comprises:

if the prediction direction of the first time of intraframe predictionis a vertical direction, determining that the weight coefficient of thefirst predicted block is a vertical distance between a predicted pixelpoint in the intraframe coded block and a reference pixel point in theat least one reconstructed coded block at adjacent positions to the leftand/or above and/or to the upper left of the intraframe coded block.

In an embodiment of the present disclosure, the determining a weightcoefficient of the first predicted block based on the predictiondirection of the first time of intraframe prediction comprises:

if the prediction direction of the first time of intraframe predictionis a horizontal direction, determining that the weight coefficient ofthe first predicted block is a horizontal distance between a predictedpixel point in the intraframe coded block and a reference pixel point inthe at least one reconstructed coded block at adjacent positions to theleft and/or above and/or to the upper left of the intraframe codedblock.

In an embodiment of the present disclosure, determining of the weightcoefficient of the second predicted block is similar to determining ofthe weight coefficient of the first predicted block. Determining aweight coefficient of the second predicted block based on the predictiondirection of the second time of intraframe prediction comprises: if theprediction direction of the second time of intraframe prediction is avertical direction, determining that the weight coefficient of thesecond predicted block is a vertical distance between a predicted pixelpoint in the intraframe coded block and a reference pixel point in theat least one reconstructed coded block at adjacent positions to theright and/or beneath and/or to the lower right of the intraframe codedblock.

Determining a weight coefficient of the second predicted block based onthe prediction direction of the second time of intraframe predictioncomprises: if the prediction direction of the second time of intraframeprediction is a horizontal direction, determining that the weightcoefficient of the second predicted block is a horizontal distancebetween a predicted pixel point in the intraframe coded block and areference pixel point in at least one of the interframe coded blocks atadjacent positions to the right and/or beneath and/or to the lower rightof the intraframe coded block.

In an embodiment of the present disclosure, the decoding method furthercomprises:

determining whether a value of a coding identifier in the information ofthe intraframe predicted block is a set value; if yes, executing thestep of: determining the intraframe predicted block based on theinformation of the intraframe predicted block, the at least onereconstructed coded block at adjacent positions to the left and/or aboveand/or to the upper left of the intraframe coded block, and at least oneof the interframe coded blocks at adjacent positions to the right and/orbeneath and/or to the lower right of the intraframe coded block;

wherein the set value is configured for identifying that the intraframeprediction process utilizes at least one interframe coded blocks atadjacent positions to the right and/or beneath and/or to the lower rightof the intraframe coded block.

As shown in FIG. 7, an embodiment of the present disclosure provides anencoder, comprising:

an interframe predicting unit 701 configured for performing interframeprediction to each interframe coded block in at least one coded block toobtain corresponding interframe predicted blocks;

an intraframe predicting unit 702 configured for: for each intraframecoded block in the at least one coded block, if the interframe codedblock exists at an adjacent position to the right or beneath or to thelower right of the intraframe coded block, performing intraframeprediction to the intraframe coded block based on at least onereconstructed coded blocks at adjacent positions to the left and/orabove and/or to the upper left of the intraframe coded block and atleast one interframe coded blocks at adjacent positions to the rightand/or beneath and/or to the lower right of the intraframe coded blockto obtain intraframe predicted blocks; and

a writing unit 703 configured for writing information of each of theinterframe predicted blocks into a code stream and writing informationof respective intraframe prediction blocks into the code stream.

In an embodiment of the present disclosure, the intraframe predictingunit 702 is configured for: performing a first time of intraframeprediction to the intraframe coded block based on the at least onereconstructed coded block at adjacent positions to the left and/or aboveand/or to the upper left of the intraframe coded block to obtain a firstpredicted block; performing a second time of intraframe prediction tothe intraframe coded block based on at least one of the interframe codedblocks at adjacent positions to the right and/or beneath and/or to thelower right of the intraframe coded block to obtain a second predictedblock; and determining the intraframe predicted block based on the firstpredicted block and the second predicted block.

In an embodiment of the present disclosure, the intraframe predictingunit 702 is further configured for: determining a prediction directionof the first time of intraframe prediction based on the intraframe codedblock and the at least one reconstructed coded block at adjacentpositions to the left and/or above and/or to the upper left of theintraframe coded block; determining a prediction direction of the secondtime of intraframe prediction based on the intraframe coded block and atleast one of the interframe coded blocks at adjacent positions to theright and/or beneath and/or to the lower right of the intraframe codedblock; determining a weight coefficient of the first predicted blockbased on the prediction direction of the first time of intraframeprediction; and determining a weight coefficient of the second predictedblock based on the prediction direction of the second time of intraframeprediction;

the intraframe predicting unit 702 is configured for determining theintraframe predicted block based on the first predicted block and itsweight coefficient, and the second predicted block and its weightcoefficient.

In an embodiment of the present disclosure, the intraframe predictingunit 702 is configured for: if the prediction direction of the firsttime of intraframe prediction is a vertical direction, determining thatthe weight coefficient of the first predicted block is a verticaldistance between a predicted pixel point in the intraframe coded blockand a reference pixel point in the at least one reconstructed codedblock at adjacent positions to the left and/or above and/or to the upperleft of the intraframe coded block.

In an embodiment of the present disclosure, the intraframe predictingunit 702 is configured for: if the prediction direction of the firsttime of intraframe prediction is a horizontal direction, determiningthat the weight coefficient of the first predicted block is a horizontaldistance between a predicted pixel point in the reconstructed codedblock and a reference pixel point in the at least one reconstructedcoded block at adjacent positions to the left and/or above and/or to theupper left of the intraframe coded block.

In an embodiment of the present disclosure, the information of theintraframe predicted block includes: a coding identifier;

a value of the coding identifier is a set value;

wherein the set value is configured for identifying that the intraframeprediction process utilizes at least one of the interframe coded blocksat adjacent positions to the right and/or beneath and/or to the lowerright of the intraframe coded block.

As shown in FIG. 8, an embodiment of the present disclosure provides adecoder, comprising:

an interframe decoding unit 801 configured for determining, based oninformation of at least one interframe predicted blocks in a codestream, an interframe coded block corresponding to each of theinterframe predicted blocks; and

an intraframe decoding unit 802 configured for: for information of eachintraframe predicted block in the code stream, if the interframe codedblock exists at an adjacent position to the right or beneath or to thelower right of the intraframe coded block corresponding to theintraframe predicted block, determining the intraframe coded block basedon the information of the intraframe predicted block, at least onereconstructed coded blocks at adjacent positions to the left and/orabove and/or to the upper left of the intraframe coded block, and atleast one interframe coded blocks at adjacent positions to the rightand/or beneath and/or to the lower right of the intraframe coded block;and determining the intraframe coded block based on the intraframepredicted block.

In an embodiment of the present disclosure, the intraframe decoding unit802 is configured for performing a first time of intraframe predictionto the intraframe coded block based on the information of the intraframepredicted block and the at least one reconstructed coded block atadjacent positions to the left and/or above and/or to the upper left ofthe intraframe coded block to obtain a first predicted block; performinga second time of intraframe prediction to the intraframe coded blockbased on the information of the intraframe predicted block and at leastone interframe coded blocks at adjacent positions to the right and/orbeneath and/or to the lower right of the intraframe coded block toobtain a second predicted block; and determining the intraframepredicted block based on the first predicted block and the secondpredicted block.

In an embodiment of the present disclosure, the intraframe decoding unit802 is further configured for: determining a prediction direction of thefirst time of intraframe prediction based on the information of theintraframe predicted block, the at least one reconstructed coded blockat adjacent positions to the left and/or above and/or to the upper leftof the intraframe coded block, and the intraframe coded block;determining a prediction direction of the second time of intraframeprediction based on the information of the intraframe predicted block,at least one of the interframe coded blocks at adjacent positions to theright and/or beneath and/or to the lower right of the intraframe codedblock, and the intraframe coded block; determining a weight coefficientof the first predicted block based on the prediction direction of thefirst time of intraframe prediction; and determining a weightcoefficient of the second predicted block based on the predictiondirection of the second time of intraframe prediction;

the intraframe decoding unit 802 is configured for determining theintraframe predicted block based on the first predicted block and itsweight coefficient, and the second predicted block and its weightcoefficient.

In an embodiment of the present disclosure, the intraframe decoding unit802 is configured for: if the prediction direction of the first time ofintraframe prediction is a vertical direction, determining that theweight coefficient of the first predicted block is a vertical distancebetween a predicted pixel point in the intraframe coded block and areference pixel point in the at least one reconstructed coded block atadjacent positions to the left and/or above and/or to the upper left ofthe intraframe coded block.

In an embodiment of the present disclosure, the intraframe decoding unit802 is configured for: if the prediction direction of the first time ofintraframe prediction is a horizontal direction, determining that theweight coefficient of the first predicted block is a horizontal distancebetween a predicted pixel point in the intraframe coded block and areference pixel point in the at least one reconstructed coded block atadjacent positions to the left and/or above and/or to the upper left ofthe intraframe coded block.

In an embodiment of the present disclosure, the intraframe decoding unit802 is further configured for determining whether a value of a codingidentifier in the information of the intraframe predicted block is a setvalue; if yes, executing a step of: determining the intraframe codedblock based on the information of the intraframe predicted block, atleast one reconstructed coded blocks at adjacent positions to the leftand/or above and/or to the upper left of the intraframe coded block, andat least one interframe coded blocks at adjacent positions to the rightand/or beneath and/or to the lower right of the intraframe coded block;

wherein the set value is configured for identifying that an intraframeprediction process utilizes at least one of the interframe coded blocksat adjacent positions to the right and/or beneath and/or to the lowerright of the intraframe coded block.

In 1990s, improvement of a technology may be apparently differentiatedinto hardware improvement (e.g., improvement of a circuit structure suchas a diode, a transistor, a switch, etc.) or software improvement (e.g.,improvement of a method process). However, with development oftechnology, currently, improvement of many method processes may beregarded as direct improvement to a hardware circuit structure.Designers always program an improved method process into a hardwarecircuit to obtain a corresponding hardware circuit structure. Therefore,it is improper to allege that improvement of a method process cannot beimplemented by a hardware entity module. For example, a programmablelogic device (PLD) (such as a field programmable gate array FPGA) issuch an integrated circuit, a logic function of which is determined byprogramming a corresponding device. A designer may integrate a digitalsystem on a piece of PLD by programming, without a need of engaging achip manufacturer to design and fabricate a dedicated integrated circuitchip. Moreover, currently, in replacement of manual fabrication of anintegrated circuit chip, this programming is mostly implemented by alogic compiler, which is similar to a software compiler used whendeveloping and writing a program. To compile the previous original code,a specific programming language is needed, which is referred to as ahardware description language (HDL). Further, there are more than oneHDLs, e.g., ABEL (Advanced Boolean Expression Language), AHDL (AlteraHardware Description Language), Confluence, CUPL (Cornell UniversityProgramming Language), HDCal, JHDL (Java Hardware Description Language),Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language),among which, VHDL (Very-High-Speed Integrated Circuit HardwareDescription Language) and

Verilog are used most prevalently. Those skilled in the art should alsounderstand that a hardware circuit for a logic method process can beeasily implemented by subjecting, without much efforts, the methodprocess to logic programming using the above hardware descriptivelanguages into an integrated circuit.

A controller may be implemented according to any appropriate manner. Forexample, the controller may adopt manners such as a microprocessor orprocessor and a computer readable medium storing computer readableprogram codes (e.g., software or firmware) executible by the (micro)processor, a logic gate, a switch, an application specific integratedcircuit (ASIC), a programmable logic controller, and an inlaidmicrocontroller. Examples of the controller include, but are not limitedto, the following microcontrollers: ARC 625D, Atmel AT91SAM, MicrochipPIC18F26K20 and Silicone Labs C8051F320. The memory controller may alsobe implemented as part of the control logic of the memory. Those skilledin the art may further understand that besides implementing thecontroller by pure computer readable program codes, the method steps maybe surely subjected to logic programming to enable the controller toimplement the same functions in forms of a logic gate, a switch, anASIC, a programmable logic controller, and an inlaid microcontroller,etc. Therefore, the controller may be regarded as a hardware component,while the modules for implementing various functions included thereinmay also be regarded as the structures inside the hardware component.Or, the modules for implementing various functions may be regarded assoftware modules for implementing the method or structures inside thehardware component.

The system, apparatus, module or unit illustrated by the embodimentsabove may be implemented by a computer chip or entity, or implemented bya product having a certain function. A typical implementation device isa computer. Specifically, the computer for example may be a personalcomputer, a laptop computer, a cellular phone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigationdevice, an email device, a game console, a tablet computer, a wearabledevice, or a combination of any of these devices.

To facilitate description, the apparatuses above are partitioned intovarious units by functions to describe. Of course, when implementing thepresent application, functions of various units may be implemented inone or more pieces of software and/or hardware.

Those skilled in the art should understand that the embodiments of thepresent disclosure may be provided as a method, a system, or a computerprogram product. Therefore, the present disclosure may adopt a form ofcomplete hardware embodiment, a complete software embodiment, or anembodiment combining software and hardware. Moreover, the presentdisclosure may adopt a form of a computer program product implemented onone or more computer-adaptable storage media includingcomputer-adaptable program code (including, but not limited to, amagnetic disc memory, CD-ROM, and optical memory, etc.).

The present disclosure is described with reference to the flow diagramand/or block diagram of the method, apparatus (system) and computerprogram product according to the embodiments of the present disclosure.It should be understood that each flow and/or block in the flow diagramand/or block diagram, and a combination of the flow and/or block in theflow diagram and/or block diagram, may be implemented by computerprogram instructions. These computer program instructions may beprovided to a processor of a general-purpose computer, a dedicatedcomputer, an embedded processor, or other programmable data processingdevice to generate a machine, such that an apparatus for implementingthe functions specified in one or more flows of the flow diagram and/orone or more blocks in the block diagram is implemented via the computeror the processor of other programmable data processing device.

These computer program instructions may also be stored in a computerreadable memory that may boot the computer or other programmable dataprocessing device to work in a specific manner such that theinstructions stored in the computer readable memory to produce a productincluding an instruction apparatus, the instruction apparatusimplementing the functions specified in one or more flows of the flowdiagram and/or in one or more blocks in the block diagram.

These computer program instructions may be loaded on the computer orother programmable data processing device, such that a series ofoperation steps are executed on the computer or other programmabledevice to generate a processing implemented by the computer, such thatthe instructions executed on the computer or other programmable deviceprovide steps for implementing the functions specified in one or moreflows of the flow diagram and/or one or more blocks in the block diagramis implemented via the computer or the processor of other programmabledata processing device.

In a typical configuration, the computing device includes one or moreprocessors (CPUs), an input/output interface, a network interface, and amemory.

The memory may include a non-permanent memory in a computer readablemedium, a random access memory (RAM) and/or a non-volatile memory, e.g.,a read-only memory (ROM) or a flash memory (flash RAM). The memory is anexample of a computer readable medium.

The computer readable memory includes a permanent type, non-permanenttype, a mobile type, and a non-mobile type, which may implementinformation storage by any method or technology. The information may bea computer-readable instruction, a data structure, a module of a programor other data. Examples of the memory mediums of the computer include,but are not limited to, a phase-change RAM (PRAM), a static randomaccess memory (SRAM), a dynamic random access memory (DRAM), other typeof random access memory (RAM), a read-only memory (ROM), an electricallyerasable programmable read only memory (EEPROM), a flash memory body orother memory technology, a CD-ROM (Compact Disc Read-Only Memory), adigital multi-function optical disc (DVD) or other optical memory, amagnetic cassette type magnetic tape, a magnetic tape disc memory, orother magnetic storage device or any other non-transmission medium whichmay be configured for storing information to be accessed by a computingdevice. Based on the definitions in the specification, the computerreadable medium does not include a transitory media, e.g., a modulateddata signal and a carrier.

It needs also be noted that the terms “include,” “comprise” or any othervariables intend for a non-exclusive inclusion, such that a process, amethod, a product or a system including a series of elements not onlyincludes those elements, but also includes other elements that are notexplicitly specified or further includes the elements inherent in theprocess, method, product or system. Without more restrictions, anelement limited by the phase “including one . . . ” does not exclude apresence of further equivalent elements in the process, method, productor system including the elements.

The present application may be described in a general context of thecomputer-executable instruction executed by the computer, for example, aprogram module. Generally, the program module includes a routine, aprogram, an object, a component, and a data structure, etc., whichexecutes a specific task or implements a specific abstract data type.

The present application may be practiced in a distributed computingenvironment, in which a task is performed by a remote processing deviceconnected via a communication network. In the distributed computingenvironment, the program module may be located on a local or remotecomputer storage medium, including the memory device.

Respective embodiments in the specification are described in aprogressive manner, and same or similar parts between variousembodiments may be referenced to each other, while each embodimentfocuses on differences from other embodiments. Particularly, for asystem embodiment, because it is substantially similar to the methodembodiment, it is described relatively simply. Relevant parts may referto the method embodiments.

What have been described above are only preferred embodiments of thepresent disclosure, not for limiting the present disclosure; to thoseskilled in the art, the present disclosure may have various alterationsand changes. Any modifications, equivalent substitutions, andimprovements within the spirit and principle of the present disclosureshould be included within the protection scope of the presentdisclosure.

I/We claim:
 1. An encoding method, comprising: performing interframeprediction to each interframe coded block in at least one coded block toobtain corresponding interframe predicted blocks; writing information ofeach of the interframe predicted blocks into a code stream; for eachintraframe coded block in the at least one coded block, if theinterframe coded block exists at an adjacent position to the right orbeneath or to the lower right of the intraframe coded block, performingintraframe prediction to the intraframe coded block based on at leastone reconstructed coded blocks at adjacent positions to the left and/orabove and/or to the upper left of the intraframe coded block and atleast one of the interframe coded blocks at adjacent positions to theright and/or beneath and/or to the lower right of the intraframe codedblock to obtain intraframe predicted blocks; and writing information ofeach of the intraframe predicted blocks into the code stream.
 2. Thecoding method according to claim 1, wherein: the performing intraframeprediction to the intraframe coding block based on at least onereconstructed coding blocks at adjacent positions to a left and/or aboveand/or to the upper left of the intraframe coding block and at least oneof the interframe coding blocks at adjacent positions to a right and/orbeneath and/or to the lower right of the intraframe coding block toobtain intraframe predicted blocks comprises: performing a first time ofintraframe prediction to the intraframe coded block based on the atleast one reconstructed coded block at adjacent positions to the leftand/or above and/or to the upper left of the intraframe coded block toobtain a first predicted block; performing a second time of intraframeprediction to the intraframe coded block based on at least oneinterframe coded blocks at adjacent positions to the right and/orbeneath and/or to the lower right of the intraframe coded block toobtain a second predicted block; and determining the intraframepredicted block based on the first predicted block and the secondpredicted block.
 3. The encoding method according to claim 2, furthercomprising: determining a prediction direction of the first time ofintraframe prediction based on the intraframe coded block and the atleast one reconstructed coded block at adjacent positions to the leftand/or above and/or to the upper left of the intraframe coded block;determining a prediction direction of the second time of intraframeprediction based on the intraframe coded block and at least one of theinterframe coded blocks at adjacent positions to the right and/orbeneath and/or to the lower right of the intraframe coded block;determining a weight coefficient of the first predicted block based onthe prediction direction of the first time of intraframe prediction; anddetermining a weight coefficient of the second predicted block based onthe prediction direction of the second time of intraframe prediction;wherein the determining the intraframe predicted block based on thefirst predicted block and the second predicted block comprises:determining the intraframe predicted block based on the first predictedblock and its weight coefficient, and the second predicted block and itsweight coefficient.
 4. The encoding method according to claim 3, whereinthe determining a weight coefficient of the second predicted block basedon the prediction direction of the second time of intraframe predictioncomprises: if the prediction direction of the second time of intraframeprediction is a vertical direction, determining that the weightcoefficient of the second predicted block is a vertical distance betweena predicted pixel point in the intraframe coded block and a referencepixel point in at least one of the interframe coded blocks at adjacentpositions to the right and/or beneath and/or to the lower right of theintraframe coded block.
 5. The encoding method according to claim 3,wherein the determining a weight coefficient of the second predictedblock based on the prediction direction of the second time of intraframeprediction comprises: if the prediction direction of the second time ofintraframe prediction is a horizontal direction, determining that theweight coefficient of the second predicted block is a horizontaldistance between a predicted pixel point in the intraframe coded blockand a reference pixel point in at least one of the interframe codedblocks at adjacent positions to the right and/or beneath and/or to thelower right of the intraframe coded block
 6. The encoding methodaccording to claim 1, wherein the information of the intraframepredicted block includes: a coding identifier; a value of the codingidentifier is a set value; wherein the set value is configured foridentifying that an intraframe prediction process utilizes at least oneof the interframe coded blocks at adjacent positions to the right and/orbeneath and/or to the lower right of the intraframe coded block.
 7. Theencoding method according to claim 1, further comprising: determining,based on a preset decision algorithm, whether to utilize at least one ofthe interframe coded blocks at adjacent positions to the right and/orbeneath and/or to the lower right of the intraframe coded block toperform intraframe prediction; if so, executing a step of: performingintraframe prediction to the intraframe coded block based on at leastone reconstructed coded blocks at adjacent positions to the left and/orabove and/or to the upper left of the intraframe coded block and atleast one of the interframe coded blocks at adjacent positions to theright and/or beneath and/or to the lower right of the intraframe codedblock
 8. A decoding method, comprising: determining, based oninformation of at least one interframe predicted blocks in a codestream, an interframe coded block corresponding to each of theinterframe predicted blocks; for information of each intraframepredicted block in the code stream, if the interframe coded block existsat an adjacent position to the right or beneath or to the lower right ofthe intraframe coded block corresponding to the intraframe predictedblock, determining the intraframe predicted block based on theinformation of the intraframe predicted block, at least onereconstructed coded blocks at adjacent positions to the left and/orabove and/or to the upper left of the intraframe coded block, and atleast one of the interframe coded blocks at adjacent positions to theright and/or beneath and/or to the lower right of the intraframe codedblock; and determining the intraframe coded block based on theintraframe predicted block.
 9. The decoding method according to claim 8,wherein determining the intraframe predicted block based on theinformation of the intraframe predicted block, the at least onereconstructed coded block at adjacent positions to the left and/or aboveand/or to the upper left of the intraframe coded block, and at least oneof the interframe coded blocks at adjacent positions to the right and/orbeneath and/or to the lower right of the intraframe coded blockcomprises: performing a first time of intraframe prediction to theintraframe coded block based on the information of the intraframepredicted block and the at least one reconstructed coded block atadjacent positions to the left and/or above and/or to the upper left ofthe intraframe coded block to obtain a first predicted block; performinga second time of intraframe prediction to the intraframe coded blockbased on the information of the intraframe predicted block and at leastone of the interframe coded blocks at adjacent positions to the rightand/or beneath and/or to the lower right of the intraframe coded blockto obtain a second predicted block; and determining the intraframepredicted block based on the first predicted block and the secondpredicted block.
 10. The decoding method according to claim 8, furthercomprising: determining a prediction direction of the first time ofintraframe prediction based on the information of the intraframepredicted block, the at least one reconstructed coded block at adjacentpositions to the left and/or above and/or to the upper left of theintraframe coded block, and the intraframe coded block; determining aprediction direction of the second time of intraframe prediction basedon the information of the intraframe predicted block, at least one ofthe interframe coded blocks at adjacent positions to the right and/orbeneath and/or to the lower right of the intraframe coded block, and theintraframe coded block; determining a weight coefficient of the firstpredicted block based on the prediction direction of the first time ofintraframe prediction; determining a weight coefficient of the secondpredicted block based on the prediction direction of the second time ofintraframe prediction; and wherein the determining the intraframepredicted block based on the first predicted block and the secondpredicted block comprises: determining the intraframe predicted blockbased on the first predicted block and its weight coefficient, and thesecond predicted block and its weight coefficient.
 11. The decodingmethod according to claim 10, wherein the determining a weightcoefficient of the second predicted block based on the predictiondirection of the second time of intraframe prediction comprises: if theprediction direction of the second time of intraframe prediction is avertical direction, determining that the weight coefficient of thesecond predicted block is a vertical distance between a predicted pixelpoint in the intraframe coded block and a reference pixel point in atleast one of the interframe coded blocks at adjacent positions to theright and/or beneath and/or to the lower right of the intraframe codedblock.
 12. The decoding method according to claim 10, wherein thedetermining a weight coefficient of the second predicted block based onthe prediction direction of the second time of intraframe predictioncomprises: if the prediction direction of the second time of intraframeprediction is a horizontal direction, determining that the weightcoefficient of the second predicted block is a horizontal distancebetween a predicted pixel point in the intraframe coded block and areference pixel point in at least one of the interframe coded blocks atadjacent positions to the right and/or beneath and/or to the lower rightof the intraframe coded block.
 13. The decoding method according toclaim 8, further comprising: determining whether a value of a codingidentifier in the information of the intraframe predicted block is a setvalue; if yes, executing a step of: determining the intraframe predictedblock based on the information of the intraframe predicted block, the atleast one reconstructed coded block at adjacent positions to the leftand/or above and/or to the upper left of the intraframe coded block, andat least one of the interframe coded blocks at adjacent positions to theright and/or beneath and/or to the lower right of the intraframe codedblock; wherein the set value is configured for identifying that anintraframe prediction process utilizes at least one of the interframecoded blocks at adjacent positions to the right and/or beneath and/or tothe lower right of the intraframe coded block.
 14. An encoder,comprising: an interframe predicting unit configured for performinginterframe prediction to each interframe coded block in at least onecoded block to obtain corresponding interframe predicted blocks; anintraframe predicting unit configured for: for each intraframe codedblock in the at least one coded block, if the interframe coded blockexists at an adjacent position to the right or beneath or to the lowerright of the intraframe coded block, performing intraframe prediction tothe intraframe coded block based on at least one reconstructed codedblocks at adjacent positions to the left and/or above and/or to theupper left of the intraframe coded block and at least one of theinterframe coded blocks at adjacent positions to the right and/orbeneath and/or to the lower right of the intraframe coded block toobtain intraframe predicted blocks; and a writing unit configured forwriting information of each of the interframe predicted blocks into acode stream and writing information of each of the intraframe predictedblocks into the code stream.
 15. The encoder according to claim 14,wherein the intraframe predicting unit is configured for: performing afirst time of intraframe prediction to the intraframe coded block basedon the at least one reconstructed coded block at adjacent positions tothe left and/or above and/or to the upper left of the intraframe codedblock to obtain a first predicted block; performing a second time ofintraframe prediction to the intraframe coded block based on at leastone of the interframe coded blocks at adjacent positions to the rightand/or beneath and/or to the lower right of the intraframe coded blockto obtain a second predicted block; and determining the intraframepredicted block based on the first predicted block and the secondpredicted block.
 16. The encoder according to claim 15, wherein theintraframe predicting unit is further configured for: determining aprediction direction of the first time of intraframe prediction based onthe intraframe coded block and the at least one reconstructed codedblock at adjacent positions to the left and/or above and/or to the upperleft of the intraframe coded block; determining a prediction directionof the second time of intraframe prediction based on the intraframecoded block and at least one of the interframe coded blocks at adjacentpositions to the right and/or beneath and/or to the lower right of theintraframe coded block; determining a weight coefficient of the firstpredicted block based on the prediction direction of the first time ofintraframe prediction; and determining a weight coefficient of thesecond predicted block based on the prediction direction of the secondtime of intraframe prediction; and the intraframe predicting unit isconfigured for determining the intraframe predicted block based on thefirst predicted block and its weight coefficient, and the secondpredicted block and its weight coefficient.
 17. A decoder, comprising:an interframe decoding unit configured for determining, based oninformation of at least one interframe predicted blocks in a codestream, an interframe coded block corresponding to each of theinterframe predicted blocks; and an intraframe decoding unit configuredfor: for information of each intraframe predicted block in the codestream, if the interframe coded block exists at an adjacent position tothe right or beneath or to the lower right of the intraframe coded blockcorresponding to the intraframe predicted block, determining theintraframe predicted block based on the information of the intraframepredicted block, at least one reconstructed coded blocks at adjacentpositions to the left and/or above and/or to the upper left of theintraframe coded block, and at least one of the interframe coded blocksat adjacent positions to the right and/or beneath and/or to the lowerright of the intraframe coded block; and determining the intraframecoded block based on the intraframe predicted block.
 18. The decoderaccording to claim 17, wherein: the intraframe decoding unit isconfigured for performing a first time of intraframe prediction to theintraframe coded block based on the information of the intraframepredicted block and the at least one reconstructed coded block atadjacent positions to the left and/or above and/or to the upper left ofthe intraframe coded block to obtain a first predicted block; performinga second time of intraframe prediction to the intraframe coded blockbased on the information of the intraframe predicted block and at leastone interframe coded blocks at adjacent positions to the right and/orbeneath and/or to the lower right of the intraframe coded block toobtain a second predicted block; and determining the intraframepredicted block based on the first predicted block and the secondpredicted block.
 19. The decoder according to claim 17, wherein theintraframe decoding unit is further configured for: determining aprediction direction of the first time of intraframe prediction based onthe information of the intraframe predicted block, the at least onereconstructed coded block at adjacent positions to the left and/or aboveand/or to the upper left of the intraframe coded block, and theintraframe coded block; determining a prediction direction of the secondtime of intraframe prediction based on the information of the intraframepredicted block, at least one of the interframe coded blocks at adjacentpositions to the right and/or beneath and/or to the lower right of theintraframe coded block, and the intraframe coded block; determining aweight coefficient of the first predicted block based on the predictiondirection of the first time of intraframe prediction; and determining aweight coefficient of the second predicted block based on the predictiondirection of the second time of intraframe prediction; and theintraframe decoding unit is configured for determining the intraframepredicted block based on the first predicted block and its weightcoefficient, and the second predicted block and its weight coefficient.